#pragma once
#include <string>
#include "Scene.h"
#include <Ogre.h>
#include "tinyxml.h"

class SceneLoader
{
public:
	static SceneLoader getInstance(void);

	Scene* loadScene(const std::string& sceneFile, Ogre::SceneManager* pSceneMgr);
	
	~SceneLoader(void);
private:
	SceneLoader(void);

	void processPlane(TiXmlElement* pElem, Ogre::SceneManager* pSceneMgr);
	void processLight(TiXmlElement* pElem, Ogre::SceneManager* pSceneMgr);
	void processNodes(TiXmlElement* pElem, Ogre::SceneManager* pSceneMgr);
	void processStructures(TiXmlElement* pElem, Ogre::SceneManager* pSceneMgr);
	void processAgents(TiXmlElement* pElem, Ogre::SceneManager* pSceneMgr);

	Scene* mpScene;
};

